package com.molichuxing.services.infrastructure.service;

import java.util.List;
import java.util.Map;

import com.molichuxing.framework.dto.Paged;
import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.EntrepotStorageCreateDto;
import com.molichuxing.services.infrastructure.dto.request.modify.EntrepotStorageModifyDto;
import com.molichuxing.services.infrastructure.dto.response.EntrepotStorageDto;

/**
 * 
 * @author liyg
 * 中转库服务
 * 2019-08-20
 *
 */
public interface EntrepotStorageService extends RootService{

	/**
	 *获取中转库列表
	 * @param map 参数
	 *key:shortName  String 中转库简称 非必填
	 *key:name       String 负责人姓名 非必填
	 *key:regionId   Integer 城市id 非必填
	 *key:pageNum    Integer 当前页
	 *key:pageSize   Integer 每页显示条数
	 * @return
	 */
	Paged<EntrepotStorageDto> getEntrepotStorageList(Map<String, Object> map);
	
	/**
	 * 获取中转库列表
	 * @param ids
	 * @return
	 */
	Map<Integer,EntrepotStorageDto> getEntrepotStorageList(List<Integer> ids);
	
	/**
	 * 获取中转库列表
	 * 
	 * @return
	 */
	List<EntrepotStorageDto> getEntrepotStorageList();
	
	/**
	 * 获取中转库详情
	 * 
	 * @param id 中转库id
	 * @return
	 */
	EntrepotStorageDto getEntrepotStorage(Integer id);
	
	/**
	 * 保存中转库信息
	 * 
	 * @param createDto
	 * @return
	 */
	Integer create(EntrepotStorageCreateDto createDto);
	
	/**
	 * 修改中转库信息
	 * 
	 * @param modifyDto
	 * @return
	 */
	Boolean modify(EntrepotStorageModifyDto modifyDto);
	
	/**
	 * 修改中转库信息
	 * 
	 * @param modifyDto
	 * @return
	 */
	Boolean modifyFenceId(Integer fenceId,Integer id);
	/**
	 * 获取中转库信息
	 * @param shortName
	 * @return
	 */
	EntrepotStorageDto getByName(String shortName);
	
	/**
	 * 获取中转库信息
	 * @param fullName
	 * @return
	 */
	EntrepotStorageDto getByFullName(String fullName);
	
	/**
	 * 获取中转库信息 模糊查询
	 * @param shortName
	 * @return
	 */
	List<EntrepotStorageDto> getByShortName(String shortName);
	
	
	
}
